package com.ruoyi.workflow.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 审批记录对象 approval_records
 *
 * @author 周志雄
 * @date 2024-03-15
 */
public class ApprovalRecords {
    private static final long serialVersionUID = 1L;

    /** 审批记录ID */
    private Long recordId;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 业务主键 */
    @Excel(name = "业务主键")
    private Long businessKey;

    /** 流程实例ID */
    @Excel(name = "流程实例ID")
    private String processId;

    /** 流程实例名称 */
    @Excel(name = "流程实例名称")
    private String processName;

    /** 审批节点名称 */
    @Excel(name = "审批节点名称")
    private String approvalNodeName;

    /** 审批人ID */
    @Excel(name = "审批人ID")
    private String approverId;

    /** 1同意 2拒绝 3待定 */
    @Excel(name = "1同意 2拒绝 3待定")
    private Long approvalStatus;

    /** 审批意见 */
    @Excel(name = "审批意见")
    private String approvalComment;

    /** 审批附件文件URL */
    @Excel(name = "审批附件文件URL")
    private String approvalFileUrl;

    /** 审批附件图片URL */
    @Excel(name = "审批附件图片URL")
    private String approvalImageUrl;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalTime;

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId()
    {
        return recordId;
    }
    public void setBusinessType(String businessType)
    {
        this.businessType = businessType;
    }

    public String getBusinessType()
    {
        return businessType;
    }
    public void setBusinessKey(Long businessKey)
    {
        this.businessKey = businessKey;
    }

    public Long getBusinessKey()
    {
        return businessKey;
    }
    public void setProcessId(String processId)
    {
        this.processId = processId;
    }

    public String getProcessId()
    {
        return processId;
    }
    public void setProcessName(String processName)
    {
        this.processName = processName;
    }

    public String getProcessName()
    {
        return processName;
    }
    public void setApprovalNodeName(String approvalNodeName)
    {
        this.approvalNodeName = approvalNodeName;
    }

    public String getApprovalNodeName()
    {
        return approvalNodeName;
    }
    public void setApproverId(String approverId)
    {
        this.approverId = approverId;
    }

    public String getApproverId()
    {
        return approverId;
    }
    public void setApprovalStatus(Long approvalStatus)
    {
        this.approvalStatus = approvalStatus;
    }

    public Long getApprovalStatus()
    {
        return approvalStatus;
    }
    public void setApprovalComment(String approvalComment)
    {
        this.approvalComment = approvalComment;
    }

    public String getApprovalComment()
    {
        return approvalComment;
    }
    public void setApprovalFileUrl(String approvalFileUrl)
    {
        this.approvalFileUrl = approvalFileUrl;
    }

    public String getApprovalFileUrl()
    {
        return approvalFileUrl;
    }
    public void setApprovalImageUrl(String approvalImageUrl)
    {
        this.approvalImageUrl = approvalImageUrl;
    }

    public String getApprovalImageUrl()
    {
        return approvalImageUrl;
    }
    public void setApprovalTime(Date approvalTime)
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime()
    {
        return approvalTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("businessType", getBusinessType())
            .append("businessKey", getBusinessKey())
            .append("processId", getProcessId())
            .append("processName", getProcessName())
            .append("approvalNodeName", getApprovalNodeName())
            .append("approverId", getApproverId())
            .append("approvalStatus", getApprovalStatus())
            .append("approvalComment", getApprovalComment())
            .append("approvalFileUrl", getApprovalFileUrl())
            .append("approvalImageUrl", getApprovalImageUrl())
            .append("approvalTime", getApprovalTime())
            .toString();
    }
}
